home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group93b.txt
/
000039_icon-group-sender _Wed Apr 28 12:27:37 1993.msg
< prev
next >
Wrap
Internet Message Format
|
1993-06-16
|
3KB
Received: by cheltenham.cs.arizona.edu; Wed, 28 Apr 1993 12:33:19 MST
From: mitch@roll.csd.sgi.com (Tom Mitchell)
Message-Id: <9304281927.AA17778@roll.csd.sgi.com>
Subject: Re: runtime debugger and the Icon fan club.
To: icon-group@cs.arizona.edu
Date: Wed, 28 Apr 1993 12:27:37 -0800 (PDT)
X-Mailer: ELM [version 2.4 PL3]
Content-Type: text
Content-Length: 2370
Status: R
Errors-To: icon-group-errors@cs.arizona.edu
There has been a 'discussion' that Icon could have a wider
circle of users.
|>
|does not cater to the introductory CS course regimen. Icon has, as its
|natural constituency, people interested in AI, NLP, text, translation,
|and general nonnumeric computing. Intro CS courses are.....
I see a couple of things.
I suspect that this is a generic problem with the mind set
of education today. Consider the transition from slide rule
to calculator. There was a lot of resistance to calculators
because people felt that understanding slide rules of itself
is important. I heard this in in a chem class no less.
There are still art schools that demand that students grind
their own paint and pigment. Bletch... I think.
I wonder, since Icon is implemented in 'C' it might be considered
dependent on 'C' and thus less interesting. Also given that there
is also a strong bias toward stronger type defines in ANSI 'C',
the lack of type checking in Icon could be seen as a loss
against the curriculum goals.
A real power of Icon is the ease of expressing things like
generators. Should these be taught before or after
recursion in a CS course, message passing, object oriented
programming? Should the implementation of generators in c,
Fortran, assembler be a CS goal.
I believe that a general purpose language does need to
be 'invented' that defines an expressive context to permit
strong type checking, object hiding, generators, lists,
multi-dimension arrays, bounds checking etc.
Just in case should some one sets out to do this. An
irritant to me is little inconsistent 'features' like {} and ;
omissions where the parser can permit such things to be
omitted in one place and not in others. I find that they
are a problem to me learning a language or using a language
infrequently. We all like to start with simple examples
that illustrate something. These are also the examples that
permit shortcuts. When I expand from the trivial example to
something interesting I find I now need the missing {}; and
wish they were there in the example the start.
Sort of a summary:
Does Icon support these goals in the first two years of a CS
education? Mostly not I suspect.
What are the curriculum goals of a CS education? What are
the education goals of a non CS education.
Does Icon support the CS needs of a non-CS education?
Mostly not I suspect.